Skip to content

fix(parse): stop dropping children indented in components - #398

Open
larbish wants to merge 2 commits into
mainfrom
fix/outdented-children
Open

fix(parse): stop dropping children indented in components#398
larbish wants to merge 2 commits into
mainfrom
fix/outdented-children

Conversation

@larbish

@larbish larbish commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Keep a block component's children when they sit left of the component's own :: marker, instead of dropping them silently.

Changes

Child indentation (plugins/components.ts, internal/parse/indent.ts)

// Before: the code block is lost
::tabs
  :::tabs-item{label="Code"}
```mdc
  ::accordion
  ::
```
  :::
::

// After: kept, and re-rendered aligned with its parent
::tabs
  :::tabs-item{label="Code"}
  ```mdc
    ::accordion
    ::
  ```
  :::
::

@larbish
larbish requested a review from farnabaz as a code owner September 7, 2026 10:33
@coldtea-pr-lens

coldtea-pr-lens Bot commented Sep 7, 2026

Copy link
Copy Markdown

◈ PR Lens

🟢 +1 new · 🟠 ~3 changed · 🔴 -0 removed · 1 flow · 12 files · commit 9383e58


Architecture

Architecture diagram for comarkdown/comark at 9383e58

4 components touched across 2 lanes.

Open the interactive canvas


Inside the changed components — 1 view

Code view — Indentation Shifting

Indentation shifting and zero-floor tokenization inside block components

Architecture view of Code view — Indentation Shifting in comarkdown/comark

Data flow

Data flow diagram for comarkdown/comark at 9383e58

Parsing an outdented block component

Open the interactive canvas


Drill down
Core Engine — 2 components
🟡 CHANGED Markdown Renderer

Serializes document ASTs back to Markdown, preserving code block leading whitespace.

🟡 CHANGED Bundle Size Suite

Measures production bundle sizes and tracks threshold snapshots across builds.

Plugin Pipeline — 2 components
🟡 CHANGED MDC Components Plugin

Parses MDC block components, computes child line shift offsets, and reads YAML attributes.

🟢 NEW Indentation Shifter

Shifts line marks in-place to strip indentation and tokenizes children against a zero floor.


View

  • Architecture lens
  • Data flow lens
  • Expand every detail
  • Show unchanged neighbours

Tip

The boxes under View are live. Tick Architecture lens or Data flow lens to choose which diagrams appear, or Expand every detail to open every drill-down at once. The comment redraws in place a few seconds later.

🪧 More tips
  • Run PR Lens on your own machine: npx skills add coldteadotai/pr-lens installs the agent skill. Then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Draw a diff before it is even a pull request: npx @coldtea/pr-lens-cli analyze --base origin/main reads the diff with your own model key, and npx @coldtea/pr-lens-cli render .pr-lens/graph.json draws the same lenses on your machine.
  • Show unchanged neighbours lists the components this change did not touch alongside the ones it did, so the drill-down shows what the changed code sits next to.
  • GitHub will not let you zoom an image in a comment. The link under each diagram opens it on an interactive canvas, where you can zoom, pan and step through the flow.
  • The CLI's render picks up .github/pr-lens.yml automatically and applies your corrections (renames, exclusions, lane pins) at draw time.
  • Would you rather run it from CI on a key of your own? Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and a model key in your repository secrets, say GEMINI_API_KEY. The Action asks Gemini by default, or OpenAI and any endpoint speaking /chat/completions through its provider input.
  • PR Lens is free for open source. A star on the repository is what keeps it going.
  • Push a new commit and the whole comment re-renders for the new head. An older run never overwrites a newer one, so a slow render cannot put a stale diagram back.
  • The diagrams follow your GitHub theme, so dark mode gets the dark render and light mode the light one, and the moving dots show this pull request's data in motion.

◈ Rendered by PR Lens · crafted with ❤️ by the Coldtea team · Come say hi on Discord

@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
comark Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-json-render Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-nextjs Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-nuxt Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-svelte Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-sveltekit Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-twoslash Ready Ready Preview Sep 7, 2026 12:42pm UTC
comark-vue Ready Ready Preview Sep 7, 2026 12:42pm UTC

@pkg-pr-new

pkg-pr-new Bot commented Sep 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

comark

npm i https://pkg.pr.new/comark@398

@comark/angular

npm i https://pkg.pr.new/@comark/angular@398

@comark/ansi

npm i https://pkg.pr.new/@comark/ansi@398

@comark/html

npm i https://pkg.pr.new/@comark/html@398

@comark/nuxt

npm i https://pkg.pr.new/@comark/nuxt@398

@comark/react

npm i https://pkg.pr.new/@comark/react@398

@comark/svelte

npm i https://pkg.pr.new/@comark/svelte@398

@comark/vue

npm i https://pkg.pr.new/@comark/vue@398

commit: 9383e58

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

✅ Bundle snapshot updated

Committed the new snapshot as 9383e58, verified by re-running the bundle check against it.

GitHub suppresses the events a workflow commit would normally raise, so the ci check above may
still show the earlier failure. Re-run it to refresh the status — the snapshot itself is confirmed green.

Produced by this run.

@larbish

larbish commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

/update-bundle-snapshot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant